/ BBS in a Box 12
/ BBS in a box XII-1.iso / Files / Publish / A / Alpha.5.76.sit / Alpha.5.76 folder / Tcl / SystemCode / fill.tcl ![]() | < prev | next > |
MacBinary | 1994-03-16 | 4.5 KB | [TEXT/ALFA] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Wed Mar 16 23:59:56 1994, modified Wed Mar 16 23:59:56 1994, creator Alpha editor, type ASCII, 4033 bytes "fill.tcl" , at 0x1041 382 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [ALFA] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 66 69 6c 6c 2e 74 | 63 6c 00 00 00 00 00 00 |..fill.t|cl......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 01 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 0f c1 00 | 00 01 7e a9 ad 94 4c a9 |........|..~...L.|
|00000060| ad 94 4c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..L.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 84 c6 00 00 |........|........|
|00000080| 23 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |#=======|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 23 |========|======.#|
|000000d0| 09 27 46 69 6c 6c 27 20 | 72 6f 75 74 69 6e 65 73 |.'Fill' |routines|
|000000e0| 2e 0d 23 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..#=====|========|
|000000f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000130| 0d 0d 70 72 6f 63 20 66 | 69 6c 6c 50 61 72 61 67 |..proc f|illParag|
|00000140| 72 61 70 68 20 7b 7d 20 | 7b 0d 09 73 65 74 20 70 |raph {} |{..set p|
|00000150| 6f 73 20 5b 67 65 74 50 | 6f 73 5d 0d 09 73 65 74 |os [getP|os]..set|
|00000160| 20 73 74 61 72 74 20 5b | 70 61 72 61 53 74 61 72 | start [|paraStar|
|00000170| 74 20 24 70 6f 73 5d 20 | 0d 09 73 65 74 20 66 69 |t $pos] |..set fi|
|00000180| 6e 69 73 68 20 5b 70 61 | 72 61 46 69 6e 69 73 68 |nish [pa|raFinish|
|00000190| 20 24 70 6f 73 5d 0d 09 | 67 6f 74 6f 20 24 73 74 | $pos]..|goto $st|
|000001a0| 61 72 74 0d 09 73 65 74 | 20 74 65 78 74 20 5b 66 |art..set| text [f|
|000001b0| 69 6c 6c 54 65 78 74 20 | 24 73 74 61 72 74 20 24 |illText |$start $|
|000001c0| 66 69 6e 69 73 68 5d 0d | 09 72 65 70 6c 61 63 65 |finish].|.replace|
|000001d0| 54 65 78 74 20 24 73 74 | 61 72 74 20 24 66 69 6e |Text $st|art $fin|
|000001e0| 69 73 68 20 24 74 65 78 | 74 20 22 5c 72 22 0d 09 |ish $tex|t "\r"..|
|000001f0| 67 6f 74 6f 20 24 70 6f | 73 0d 7d 0d 0d 0d 70 72 |goto $po|s.}...pr|
|00000200| 6f 63 20 66 69 6c 6c 50 | 61 72 61 67 72 61 70 68 |oc fillP|aragraph|
|00000210| 53 65 6e 74 65 6e 63 65 | 20 7b 7d 20 7b 0d 09 73 |Sentence| {} {..s|
|00000220| 65 74 20 70 6f 73 20 5b | 67 65 74 50 6f 73 5d 0d |et pos [|getPos].|
|00000230| 09 73 65 74 20 73 74 61 | 72 74 20 5b 70 61 72 61 |.set sta|rt [para|
|00000240| 53 74 61 72 74 20 24 70 | 6f 73 5d 20 0d 09 73 65 |Start $p|os] ..se|
|00000250| 74 20 66 69 6e 69 73 68 | 20 5b 70 61 72 61 46 69 |t finish| [paraFi|
|00000260| 6e 69 73 68 20 24 70 6f | 73 5d 0d 0d 09 72 65 67 |nish $po|s]...reg|
|00000270| 73 75 62 20 2d 61 6c 6c | 20 22 5c 5b 20 5c 74 5c |sub -all| "\[ \t\|
|00000280| 72 5c 5d 2b 22 20 5b 67 | 65 74 54 65 78 74 20 24 |r\]+" [g|etText $|
|00000290| 73 74 61 72 74 20 24 66 | 69 6e 69 73 68 5d 20 22 |start $f|inish] "|
|000002a0| 20 22 20 74 65 78 74 0d | 09 72 65 67 73 75 62 20 | " text.|.regsub |
|000002b0| 2d 61 6c 6c 20 7b 5c 2e | 20 7d 20 24 74 65 78 74 |-all {\.| } $text|
|000002c0| 20 22 c6 22 20 74 65 78 | 74 0d 09 73 65 74 20 72 | "." tex|t..set r|
|000002d0| 65 73 75 6c 74 20 22 22 | 0d 09 66 6f 72 65 61 63 |esult ""|..foreac|
|000002e0| 68 20 6c 69 6e 65 20 5b | 73 70 6c 69 74 20 24 74 |h line [|split $t|
|000002f0| 65 78 74 20 22 c6 22 5d | 20 7b 0d 09 09 69 66 20 |ext "."]| {...if |
|00000300| 7b 5b 73 74 72 69 6e 67 | 20 6c 65 6e 67 74 68 20 |{[string| length |
|00000310| 24 6c 69 6e 65 5d 7d 20 | 7b 0d 09 09 09 61 70 70 |$line]} |{....app|
|00000320| 65 6e 64 20 72 65 73 75 | 6c 74 20 5b 62 72 65 61 |end resu|lt [brea|
|00000330| 6b 49 6e 74 6f 4c 69 6e | 65 73 20 24 6c 69 6e 65 |kIntoLin|es $line|
|00000340| 5d 20 22 2e 5c 72 22 0d | 09 09 7d 0d 09 7d 0d 09 |] ".\r".|..}..}..|
|00000350| 72 65 70 6c 61 63 65 54 | 65 78 74 20 24 73 74 61 |replaceT|ext $sta|
|00000360| 72 74 20 24 66 69 6e 69 | 73 68 20 24 72 65 73 75 |rt $fini|sh $resu|
|00000370| 6c 74 0d 09 67 6f 74 6f | 20 24 70 6f 73 0d 7d 0d |lt..goto| $pos.}.|
|00000380| 0d 70 72 6f 63 20 67 65 | 74 45 6e 64 70 74 73 20 |.proc ge|tEndpts |
|00000390| 7b 7d 20 7b 0d 09 69 66 | 20 7b 5b 67 65 74 50 6f |{} {..if| {[getPo|
|000003a0| 73 5d 20 3d 3d 20 5b 73 | 65 6c 45 6e 64 5d 7d 20 |s] == [s|elEnd]} |
|000003b0| 7b 0d 09 09 73 65 74 20 | 73 74 61 72 74 20 5b 67 |{...set |start [g|
|000003c0| 65 74 50 6f 73 5d 0d 09 | 09 73 65 74 20 66 69 6e |etPos]..|.set fin|
|000003d0| 69 73 68 20 5b 67 65 74 | 4d 61 72 6b 5d 0d 09 09 |ish [get|Mark]...|
|000003e0| 69 66 20 7b 24 73 74 61 | 72 74 20 3e 20 24 66 69 |if {$sta|rt > $fi|
|000003f0| 6e 69 73 68 7d 20 7b 0d | 09 09 09 73 65 74 20 74 |nish} {.|...set t|
|00000400| 65 6d 70 20 24 73 74 61 | 72 74 0d 09 09 09 73 65 |emp $sta|rt....se|
|00000410| 74 20 73 74 61 72 74 20 | 24 66 69 6e 69 73 68 0d |t start |$finish.|
|00000420| 09 09 09 73 65 74 20 66 | 69 6e 69 73 68 20 24 74 |...set f|inish $t|
|00000430| 65 6d 70 0d 09 09 7d 0d | 09 7d 20 65 6c 73 65 20 |emp...}.|.} else |
|00000440| 7b 0d 09 09 73 65 74 20 | 73 74 61 72 74 20 5b 67 |{...set |start [g|
|00000450| 65 74 50 6f 73 5d 0d 09 | 09 73 65 74 20 66 69 6e |etPos]..|.set fin|
|00000460| 69 73 68 20 5b 73 65 6c | 45 6e 64 5d 0d 09 7d 0d |ish [sel|End]..}.|
|00000470| 09 72 65 74 75 72 6e 20 | 5b 6c 69 73 74 20 24 73 |.return |[list $s|
|00000480| 74 61 72 74 20 24 66 69 | 6e 69 73 68 5d 0d 7d 0d |tart $fi|nish].}.|
|00000490| 0d 0d 70 72 6f 63 20 66 | 69 6c 6c 52 65 67 69 6f |..proc f|illRegio|
|000004a0| 6e 20 7b 7d 20 7b 0d 09 | 73 65 74 20 65 6e 64 73 |n {} {..|set ends|
|000004b0| 20 5b 67 65 74 45 6e 64 | 70 74 73 5d 0d 09 73 65 | [getEnd|pts]..se|
|000004c0| 74 20 73 74 61 72 74 20 | 5b 6c 69 6e 65 53 74 61 |t start |[lineSta|
|000004d0| 72 74 20 5b 6c 69 6e 64 | 65 78 20 24 65 6e 64 73 |rt [lind|ex $ends|
|000004e0| 20 30 5d 5d 0d 09 73 65 | 74 20 66 69 6e 69 73 68 | 0]]..se|t finish|
|000004f0| 20 5b 6c 69 6e 64 65 78 | 20 24 65 6e 64 73 20 31 | [lindex| $ends 1|
|00000500| 5d 0d 09 67 6f 74 6f 20 | 24 73 74 61 72 74 0d 09 |]..goto |$start..|
|00000510| 73 65 74 20 74 65 78 74 | 20 5b 66 69 6c 6c 54 65 |set text| [fillTe|
|00000520| 78 74 20 24 73 74 61 72 | 74 20 24 66 69 6e 69 73 |xt $star|t $finis|
|00000530| 68 5d 0d 09 72 65 70 6c | 61 63 65 54 65 78 74 20 |h]..repl|aceText |
|00000540| 24 73 74 61 72 74 20 24 | 66 69 6e 69 73 68 20 24 |$start $|finish $|
|00000550| 74 65 78 74 20 22 5c 72 | 22 0d 7d 0d 09 0d 70 72 |text "\r|".}...pr|
|00000560| 6f 63 20 77 72 61 70 50 | 61 72 61 67 72 61 70 68 |oc wrapP|aragraph|
|00000570| 20 7b 7d 20 7b 0d 09 73 | 65 74 20 70 6f 73 20 5b | {} {..s|et pos [|
|00000580| 67 65 74 50 6f 73 5d 0d | 09 73 65 74 20 73 74 61 |getPos].|.set sta|
|00000590| 72 74 20 5b 70 61 72 61 | 53 74 61 72 74 20 24 70 |rt [para|Start $p|
|000005a0| 6f 73 5d 20 0d 09 73 65 | 74 20 66 69 6e 69 73 68 |os] ..se|t finish|
|000005b0| 20 5b 70 61 72 61 46 69 | 6e 69 73 68 20 24 70 6f | [paraFi|nish $po|
|000005c0| 73 5d 0d 09 67 6f 74 6f | 20 24 73 74 61 72 74 0d |s]..goto| $start.|
|000005d0| 09 77 72 61 70 54 65 78 | 74 20 24 73 74 61 72 74 |.wrapTex|t $start|
|000005e0| 20 24 66 69 6e 69 73 68 | 0d 09 67 6f 74 6f 20 24 | $finish|..goto $|
|000005f0| 70 6f 73 0d 7d 0d 0d 70 | 72 6f 63 20 77 72 61 70 |pos.}..p|roc wrap|
|00000600| 52 65 67 69 6f 6e 20 7b | 7d 20 7b 0d 09 73 65 74 |Region {|} {..set|
|00000610| 20 65 6e 64 73 20 5b 67 | 65 74 45 6e 64 70 74 73 | ends [g|etEndpts|
|00000620| 5d 0d 09 73 65 74 20 73 | 74 61 72 74 20 5b 6c 69 |]..set s|tart [li|
|00000630| 6e 65 53 74 61 72 74 20 | 5b 6c 69 6e 64 65 78 20 |neStart |[lindex |
|00000640| 24 65 6e 64 73 20 30 5d | 5d 0d 09 73 65 74 20 66 |$ends 0]|]..set f|
|00000650| 69 6e 69 73 68 20 5b 6c | 69 6e 64 65 78 20 24 65 |inish [l|index $e|
|00000660| 6e 64 73 20 31 5d 0d 09 | 69 66 20 7b 24 73 74 61 |nds 1]..|if {$sta|
|00000670| 72 74 20 3d 3d 20 24 66 | 69 6e 69 73 68 7d 20 7b |rt == $f|inish} {|
|00000680| 0d 09 09 73 65 74 20 66 | 69 6e 69 73 68 20 5b 6d |...set f|inish [m|
|00000690| 61 78 50 6f 73 5d 0d 09 | 7d 0d 09 77 72 61 70 54 |axPos]..|}..wrapT|
|000006a0| 65 78 74 20 24 73 74 61 | 72 74 20 24 66 69 6e 69 |ext $sta|rt $fini|
|000006b0| 73 68 0d 7d 0d 09 0d 70 | 72 6f 63 20 70 61 72 61 |sh.}...p|roc para|
|000006c0| 53 74 61 72 74 20 7b 70 | 6f 73 7d 20 7b 0d 09 69 |Start {p|os} {..i|
|000006d0| 66 20 7b 24 70 6f 73 20 | 3d 3d 20 5b 6d 61 78 50 |f {$pos |== [maxP|
|000006e0| 6f 73 5d 7d 20 7b 69 6e | 63 72 20 70 6f 73 20 2d |os]} {in|cr pos -|
|000006f0| 31 7d 0d 09 73 65 74 20 | 72 65 73 20 5b 73 65 61 |1}..set |res [sea|
|00000700| 72 63 68 20 2d 6e 20 2d | 66 20 30 20 2d 72 20 31 |rch -n -|f 0 -r 1|
|00000710| 20 2d 6c 20 30 20 7b 5e | 28 5b 20 5c 74 5d 2a 7c | -l 0 {^|([ \t]*||
|00000720| 28 25 2e 2a 29 29 24 7d | 20 24 70 6f 73 5d 0d 09 |(%.*))$}| $pos]..|
|00000730| 69 66 20 7b 21 5b 73 74 | 72 69 6e 67 20 6c 65 6e |if {![st|ring len|
|00000740| 67 74 68 20 24 72 65 73 | 5d 7d 20 7b 72 65 74 75 |gth $res|]} {retu|
|00000750| 72 6e 20 30 7d 0d 09 72 | 65 74 75 72 6e 20 5b 6e |rn 0}..r|eturn [n|
|00000760| 65 78 74 4c 69 6e 65 53 | 74 61 72 74 20 5b 6c 69 |extLineS|tart [li|
|00000770| 6e 64 65 78 20 24 72 65 | 73 20 30 5d 5d 0d 7d 0d |ndex $re|s 0]].}.|
|00000780| 0d 0d 70 72 6f 63 20 70 | 61 72 61 46 69 6e 69 73 |..proc p|araFinis|
|00000790| 68 20 7b 70 6f 73 7d 20 | 7b 0d 09 73 65 74 20 65 |h {pos} |{..set e|
|000007a0| 6e 64 20 5b 6d 61 78 50 | 6f 73 5d 0d 09 73 65 74 |nd [maxP|os]..set|
|000007b0| 20 72 65 73 20 5b 73 65 | 61 72 63 68 20 2d 6e 20 | res [se|arch -n |
|000007c0| 2d 66 20 31 20 2d 72 20 | 31 20 2d 6c 20 24 65 6e |-f 1 -r |1 -l $en|
|000007d0| 64 20 7b 5e 28 5b 20 5c | 74 5d 2a 7c 28 25 2e 2a |d {^([ \|t]*|(%.*|
|000007e0| 29 29 24 7d 20 24 70 6f | 73 5d 0d 09 69 66 20 7b |))$} $po|s]..if {|
|000007f0| 21 5b 73 74 72 69 6e 67 | 20 6c 65 6e 67 74 68 20 |![string| length |
|00000800| 24 72 65 73 5d 7d 20 7b | 72 65 74 75 72 6e 20 24 |$res]} {|return $|
|00000810| 65 6e 64 7d 0d 09 72 65 | 74 75 72 6e 20 5b 6c 69 |end}..re|turn [li|
|00000820| 6e 64 65 78 20 24 72 65 | 73 20 30 5d 0d 7d 0d 0d |ndex $re|s 0].}..|
|00000830| 0d 70 72 6f 63 20 6f 6c | 64 50 61 72 61 53 74 61 |.proc ol|dParaSta|
|00000840| 72 74 20 7b 70 6f 73 7d | 20 7b 0d 09 73 65 74 20 |rt {pos}| {..set |
|00000850| 70 6f 73 20 5b 6c 69 6e | 65 53 74 61 72 74 20 24 |pos [lin|eStart $|
|00000860| 70 6f 73 5d 0d 09 77 68 | 69 6c 65 20 7b 24 70 6f |pos]..wh|ile {$po|
|00000870| 73 20 3e 20 30 7d 20 7b | 0d 09 09 73 65 74 20 62 |s > 0} {|...set b|
|00000880| 61 63 6b 20 5b 6c 69 6e | 65 53 74 61 72 74 20 5b |ack [lin|eStart [|
|00000890| 65 78 70 72 20 24 70 6f | 73 2d 31 5d 5d 0d 09 09 |expr $po|s-1]]...|
|000008a0| 69 66 20 7b 24 62 61 63 | 6b 20 3c 20 30 7d 20 7b |if {$bac|k < 0} {|
|000008b0| 72 65 74 75 72 6e 20 30 | 7d 0d 09 09 69 66 20 7b |return 0|}...if {|
|000008c0| 5b 72 65 67 65 78 70 20 | 22 5e 5c 5b 20 5c 74 5c |[regexp |"^\[ \t\|
|000008d0| 5d 2a 5c 72 24 22 20 5b | 67 65 74 54 65 78 74 20 |]*\r$" [|getText |
|000008e0| 24 62 61 63 6b 20 24 70 | 6f 73 5d 5d 7d 20 7b 72 |$back $p|os]]} {r|
|000008f0| 65 74 75 72 6e 20 24 70 | 6f 73 7d 0d 09 09 73 65 |eturn $p|os}...se|
|00000900| 74 20 70 6f 73 20 24 62 | 61 63 6b 0d 09 7d 0d 09 |t pos $b|ack..}..|
|00000910| 72 65 74 75 72 6e 20 30 | 0d 7d 0d 0d 0d 70 72 6f |return 0|.}...pro|
|00000920| 63 20 6f 6c 64 50 61 72 | 61 46 69 6e 69 73 68 20 |c oldPar|aFinish |
|00000930| 7b 70 6f 73 7d 20 7b 0d | 09 73 65 74 20 65 6e 64 |{pos} {.|.set end|
|00000940| 20 5b 6d 61 78 50 6f 73 | 5d 0d 09 77 68 69 6c 65 | [maxPos|]..while|
|00000950| 20 7b 24 70 6f 73 20 3c | 20 24 65 6e 64 7d 20 7b | {$pos <| $end} {|
|00000960| 0d 09 09 73 65 74 20 6e | 65 78 74 20 5b 6e 65 78 |...set n|ext [nex|
|00000970| 74 4c 69 6e 65 53 74 61 | 72 74 20 24 70 6f 73 5d |tLineSta|rt $pos]|
|00000980| 0d 09 09 69 66 20 7b 24 | 70 6f 73 20 3d 3d 20 22 |...if {$|pos == "|
|00000990| 2d 31 22 7d 20 7b 72 65 | 74 75 72 6e 20 24 65 6e |-1"} {re|turn $en|
|000009a0| 64 7d 0d 09 09 69 66 20 | 7b 5b 72 65 67 65 78 70 |d}...if |{[regexp|
|000009b0| 20 22 5e 5c 5b 20 5c 74 | 5c 5d 2a 5c 72 24 22 20 | "^\[ \t|\]*\r$" |
|000009c0| 5b 67 65 74 54 65 78 74 | 20 24 70 6f 73 20 24 6e |[getText| $pos $n|
|000009d0| 65 78 74 5d 5d 7d 20 7b | 72 65 74 75 72 6e 20 24 |ext]]} {|return $|
|000009e0| 70 6f 73 7d 0d 09 09 73 | 65 74 20 70 6f 73 20 24 |pos}...s|et pos $|
|000009f0| 6e 65 78 74 0d 09 7d 0d | 09 72 65 74 75 72 6e 20 |next..}.|.return |
|00000a00| 24 65 6e 64 0d 7d 0d 0d | 0d 23 20 52 65 6d 6f 76 |$end.}..|.# Remov|
|00000a10| 65 20 74 65 78 74 20 66 | 72 6f 6d 20 77 69 6e 64 |e text f|rom wind|
|00000a20| 6f 77 2c 20 74 72 61 6e | 73 66 6f 72 6d 2c 20 61 |ow, tran|sform, a|
|00000a30| 6e 64 20 69 6e 73 65 72 | 74 20 62 61 63 6b 20 69 |nd inser|t back i|
|00000a40| 6e 74 6f 20 77 69 6e 64 | 6f 77 2e 0d 23 20 20 20 |nto wind|ow..# |
|00000a50| 20 20 41 6c 74 65 72 6e | 61 74 65 20 76 65 72 73 | Altern|ate vers|
|00000a60| 69 6f 6e 20 6f 66 20 66 | 69 6c 6c 54 65 78 74 2e |ion of f|illText.|
|00000a70| 20 50 72 6f 62 61 62 6c | 79 20 62 65 74 74 65 72 | Probabl|y better|
|00000a80| 20 62 75 74 20 73 6c 6f | 77 65 72 2e 0d 23 20 70 | but slo|wer..# p|
|00000a90| 72 6f 63 20 66 69 6c 6c | 54 65 78 74 20 7b 66 72 |roc fill|Text {fr|
|00000aa0| 6f 6d 20 74 6f 7d 20 7b | 0d 23 20 09 73 65 74 20 |om to} {|.# .set |
|00000ab0| 74 65 78 74 20 5b 67 65 | 74 54 65 78 74 20 24 66 |text [ge|tText $f|
|00000ac0| 72 6f 6d 20 24 74 6f 5d | 0d 23 20 09 72 65 67 73 |rom $to]|.# .regs|
|00000ad0| 75 62 20 2d 61 6c 6c 20 | 22 5c 5b 20 5c 74 5c 72 |ub -all |"\[ \t\r|
|00000ae0| 5c 5d 2b 22 20 24 74 65 | 78 74 20 22 20 22 20 74 |\]+" $te|xt " " t|
|00000af0| 65 78 74 0d 23 20 09 72 | 65 67 73 75 62 20 2d 61 |ext.# .r|egsub -a|
|00000b00| 6c 6c 20 7b 5c 2e 20 7d | 20 24 74 65 78 74 20 7b |ll {\. }| $text {|
|00000b10| 2e 20 20 7d 20 74 65 78 | 74 0d 23 20 09 73 65 74 |. } tex|t.# .set|
|00000b20| 20 74 65 78 74 20 5b 73 | 74 72 69 6e 67 20 74 72 | text [s|tring tr|
|00000b30| 69 6d 72 69 67 68 74 20 | 5b 62 72 65 61 6b 49 6e |imright |[breakIn|
|00000b40| 74 6f 4c 69 6e 65 73 20 | 24 74 65 78 74 5d 5d 0d |toLines |$text]].|
|00000b50| 23 20 09 73 65 74 20 61 | 20 22 61 22 0d 23 20 09 |# .set a| "a".# .|
|00000b60| 73 65 74 20 61 20 5b 62 | 72 65 61 6b 49 6e 74 6f |set a [b|reakInto|
|00000b70| 4c 69 6e 65 73 20 24 61 | 5d 0d 23 20 09 72 65 67 |Lines $a|].# .reg|
|00000b80| 73 75 62 20 22 61 22 20 | 24 61 20 22 22 20 61 0d |sub "a" |$a "" a.|
|00000b90| 23 20 09 73 65 74 20 61 | 20 5c 72 24 61 0d 23 20 |# .set a| \r$a.# |
|00000ba0| 09 73 65 74 20 62 20 24 | 61 0d 23 20 09 72 65 67 |.set b $|a.# .reg|
|00000bb0| 73 75 62 20 2d 61 6c 6c | 20 5b 61 70 70 65 6e 64 |sub -all| [append|
|00000bc0| 20 62 20 22 20 22 5d 20 | 24 74 65 78 74 20 24 61 | b " "] |$text $a|
|00000bd0| 20 74 65 78 74 0d 23 20 | 09 72 65 74 75 72 6e 20 | text.# |.return |
|00000be0| 24 74 65 78 74 0d 23 20 | 7d 0d 70 72 6f 63 20 66 |$text.# |}.proc f|
|00000bf0| 69 6c 6c 54 65 78 74 20 | 7b 66 72 6f 6d 20 74 6f |illText |{from to|
|00000c00| 7d 20 7b 0d 09 73 65 74 | 20 74 65 78 74 20 5b 67 |} {..set| text [g|
|00000c10| 65 74 54 65 78 74 20 24 | 66 72 6f 6d 20 24 74 6f |etText $|from $to|
|00000c20| 5d 0d 09 72 65 67 73 75 | 62 20 2d 61 6c 6c 20 22 |]..regsu|b -all "|
|00000c30| 5c 5b 20 5c 74 5c 72 5c | 5d 2b 22 20 24 74 65 78 |\[ \t\r\|]+" $tex|
|00000c40| 74 20 22 20 22 20 74 65 | 78 74 0d 09 72 65 67 73 |t " " te|xt..regs|
|00000c50| 75 62 20 2d 61 6c 6c 20 | 7b 5c 2e 20 7d 20 24 74 |ub -all |{\. } $t|
|00000c60| 65 78 74 20 7b 2e 20 20 | 7d 20 74 65 78 74 0d 09 |ext {. |} text..|
|00000c70| 72 65 74 75 72 6e 20 5b | 73 74 72 69 6e 67 20 74 |return [|string t|
|00000c80| 72 69 6d 20 5b 62 72 65 | 61 6b 49 6e 74 6f 4c 69 |rim [bre|akIntoLi|
|00000c90| 6e 65 73 20 24 74 65 78 | 74 5d 5d 0d 7d 0d 0d 70 |nes $tex|t]].}..p|
|00000ca0| 72 6f 63 20 6c 69 6e 65 | 54 6f 50 61 72 61 67 72 |roc line|ToParagr|
|00000cb0| 61 70 68 20 7b 7d 20 7b | 0d 09 67 6c 6f 62 61 6c |aph {} {|..global|
|00000cc0| 20 66 69 6c 6c 43 6f 6c | 75 6d 6e 0d 09 67 6c 6f | fillCol|umn..glo|
|00000cd0| 62 61 6c 20 6c 65 66 74 | 46 69 6c 6c 43 6f 6c 75 |bal left|FillColu|
|00000ce0| 6d 6e 0d 09 73 61 76 65 | 56 61 72 73 0d 09 73 65 |mn..save|Vars..se|
|00000cf0| 74 20 66 69 6c 6c 43 6f | 6c 75 6d 6e 20 31 30 30 |t fillCo|lumn 100|
|00000d00| 30 30 0d 09 73 65 74 20 | 6c 65 66 74 46 69 6c 6c |00..set |leftFill|
|00000d10| 43 6f 6c 75 6d 6e 20 30 | 0d 09 66 69 6c 6c 52 65 |Column 0|..fillRe|
|00000d20| 67 69 6f 6e 0d 09 72 65 | 73 74 6f 72 65 56 61 72 |gion..re|storeVar|
|00000d30| 73 0d 7d 0d 0d 70 72 6f | 63 20 70 61 72 61 67 72 |s.}..pro|c paragr|
|00000d40| 61 70 68 54 6f 4c 69 6e | 65 20 7b 7d 20 7b 0d 09 |aphToLin|e {} {..|
|00000d50| 67 6c 6f 62 61 6c 20 66 | 69 6c 6c 43 6f 6c 75 6d |global f|illColum|
|00000d60| 6e 0d 09 67 6c 6f 62 61 | 6c 20 6c 65 66 74 46 69 |n..globa|l leftFi|
|00000d70| 6c 6c 43 6f 6c 75 6d 6e | 0d 09 73 61 76 65 56 61 |llColumn|..saveVa|
|00000d80| 72 73 0d 09 73 65 74 20 | 66 69 6c 6c 43 6f 6c 75 |rs..set |fillColu|
|00000d90| 6d 6e 20 37 35 0d 09 73 | 65 74 20 6c 65 66 74 46 |mn 75..s|et leftF|
|00000da0| 69 6c 6c 43 6f 6c 75 6d | 6e 20 30 0d 09 66 69 6c |illColum|n 0..fil|
|00000db0| 6c 52 65 67 69 6f 6e 0d | 09 72 65 73 74 6f 72 65 |lRegion.|.restore|
|00000dc0| 56 61 72 73 0d 7d 0d 0d | 0d 23 73 65 74 20 73 65 |Vars.}..|.#set se|
|00000dd0| 6e 74 45 6e 64 20 7b 5b | 2e 21 3f 5d 28 5c 72 7c |ntEnd {[|.!?](\r||
|00000de0| 20 2b 29 7d 0d 73 65 74 | 20 73 65 6e 74 45 6e 64 | +)}.set| sentEnd|
|00000df0| 20 7b 28 5c 72 5c 72 7c | 5b 2e 21 3f 5d 28 5c 72 | {(\r\r||[.!?](\r|
|00000e00| 7c 20 2b 29 29 7d 0d 73 | 65 74 20 73 65 6e 74 42 || +))}.s|et sentB|
|00000e10| 65 67 20 7b 5b 5c 72 20 | 5d 5b 41 2d 5a 5d 7d 0d |eg {[\r |][A-Z]}.|
|00000e20| 0d 70 72 6f 63 20 6e 65 | 78 74 53 65 6e 74 65 6e |.proc ne|xtSenten|
|00000e30| 63 65 20 7b 7d 20 7b 0d | 09 67 6c 6f 62 61 6c 20 |ce {} {.|.global |
|00000e40| 73 65 6e 74 42 65 67 20 | 73 65 6e 74 45 6e 64 0d |sentBeg |sentEnd.|
|00000e50| 09 69 66 20 7b 21 5b 63 | 61 74 63 68 20 7b 73 65 |.if {![c|atch {se|
|00000e60| 61 72 63 68 20 2d 66 20 | 31 20 2d 72 20 31 20 24 |arch -f |1 -r 1 $|
|00000e70| 73 65 6e 74 45 6e 64 20 | 5b 67 65 74 50 6f 73 5d |sentEnd |[getPos]|
|00000e80| 7d 20 6d 74 63 68 5d 7d | 20 7b 0d 09 09 69 66 20 |} mtch]}| {...if |
|00000e90| 7b 21 5b 63 61 74 63 68 | 20 7b 73 65 61 72 63 68 |{![catch| {search|
|00000ea0| 20 2d 66 20 31 20 2d 72 | 20 31 20 2d 69 20 30 20 | -f 1 -r| 1 -i 0 |
|00000eb0| 24 73 65 6e 74 42 65 67 | 20 5b 65 78 70 72 20 5b |$sentBeg| [expr [|
|00000ec0| 6c 69 6e 64 65 78 20 24 | 6d 74 63 68 20 31 5d 2d |lindex $|mtch 1]-|
|00000ed0| 31 5d 7d 20 6d 74 63 68 | 5d 7d 20 7b 0d 09 09 09 |1]} mtch|]} {....|
|00000ee0| 67 6f 74 6f 20 5b 65 78 | 70 72 20 5b 6c 69 6e 64 |goto [ex|pr [lind|
|00000ef0| 65 78 20 24 6d 74 63 68 | 20 30 5d 2b 31 5d 0d 09 |ex $mtch| 0]+1]..|
|00000f00| 09 7d 0d 09 7d 0d 7d 0d | 0d 0d 70 72 6f 63 20 70 |.}..}.}.|..proc p|
|00000f10| 72 65 76 53 65 6e 74 65 | 6e 63 65 20 7b 7d 20 7b |revSente|nce {} {|
|00000f20| 0d 09 67 6c 6f 62 61 6c | 20 73 65 6e 74 42 65 67 |..global| sentBeg|
|00000f30| 20 73 65 6e 74 45 6e 64 | 0d 09 69 66 20 7b 5b 63 | sentEnd|..if {[c|
|00000f40| 61 74 63 68 20 7b 73 65 | 61 72 63 68 20 2d 66 20 |atch {se|arch -f |
|00000f50| 30 20 2d 72 20 31 20 24 | 73 65 6e 74 42 65 67 20 |0 -r 1 $|sentBeg |
|00000f60| 5b 65 78 70 72 20 5b 67 | 65 74 50 6f 73 5d 2d 32 |[expr [g|etPos]-2|
|00000f70| 5d 7d 20 6d 74 63 68 5d | 7d 20 72 65 74 75 72 6e |]} mtch]|} return|
|00000f80| 0d 09 69 66 20 7b 21 5b | 63 61 74 63 68 20 7b 73 |..if {![|catch {s|
|00000f90| 65 61 72 63 68 20 2d 66 | 20 30 20 2d 72 20 31 20 |earch -f| 0 -r 1 |
|00000fa0| 24 73 65 6e 74 45 6e 64 | 20 5b 6c 69 6e 64 65 78 |$sentEnd| [lindex|
|00000fb0| 20 24 6d 74 63 68 20 31 | 5d 7d 20 6d 74 63 68 5d | $mtch 1|]} mtch]|
|00000fc0| 7d 20 7b 0d 09 09 69 66 | 20 7b 21 5b 63 61 74 63 |} {...if| {![catc|
|00000fd0| 68 20 7b 73 65 61 72 63 | 68 20 2d 66 20 31 20 2d |h {searc|h -f 1 -|
|00000fe0| 72 20 31 20 2d 69 20 30 | 20 24 73 65 6e 74 42 65 |r 1 -i 0| $sentBe|
|00000ff0| 67 20 5b 65 78 70 72 20 | 5b 6c 69 6e 64 65 78 20 |g [expr |[lindex |
|00001000| 24 6d 74 63 68 20 31 5d | 2d 31 5d 7d 20 6d 74 63 |$mtch 1]|-1]} mtc|
|00001010| 68 5d 7d 20 7b 0d 09 09 | 09 67 6f 74 6f 20 5b 65 |h]} {...|.goto [e|
|00001020| 78 70 72 20 5b 6c 69 6e | 64 65 78 20 24 6d 74 63 |xpr [lin|dex $mtc|
|00001030| 68 20 30 5d 2b 31 5d 0d | 09 09 7d 0d 09 7d 0d 7d |h 0]+1].|..}..}.}|
|00001040| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00001090| 00 00 0a 61 08 55 73 65 | 72 63 6f 64 65 55 01 00 |...a.Use|rcodeU..|
|000010a0| 00 00 00 11 00 00 0a b6 | a7 88 55 6f a7 88 cf 6c |........|..Uo...l|
|000010b0| 08 66 69 6c 6c 2e 74 63 | 6c 00 02 00 00 00 50 61 |.fill.tc|l.....Pa|
|000010c0| 72 74 53 49 54 21 00 00 | 00 00 00 00 00 00 00 00 |rtSIT!..|........|
|000010d0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 a9 b0 91 9e 00 00 | 00 00 00 00 01 7e 27 74 |........|.....~'t|
|00001100| 20 68 61 76 65 00 00 00 | 00 00 00 00 00 00 00 00 | have...|........|
|00001110| 00 00 00 00 00 00 00 00 | 00 00 06 00 00 00 0a 68 |........|.......h|
|00001120| 00 55 04 00 00 00 00 00 | 00 00 00 00 00 00 00 52 |.U......|.......R|
|00001130| 0c 55 73 65 72 42 69 74 | 73 2e 74 63 6c 00 00 00 |.UserBit|s.tcl...|
|00001140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001150| 06 00 00 00 0a 69 00 74 | 04 00 00 00 00 00 00 00 |.....i.t|........|
|00001160| 00 00 00 00 00 52 07 74 | 6f 73 63 61 76 6f 00 00 |.....R.t|oscavo..|
|00001170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001180| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 4e |...H..Mo|naco...N|
|00001190| fd 98 00 00 00 00 00 5d | e8 10 00 02 f7 6c 03 20 |.......]|.....l. |
|000011a0| 00 5b a7 d6 00 00 00 04 | 00 04 00 28 00 03 01 dd |.[......|...(....|
|000011b0| 02 01 00 28 00 03 01 dd | 02 01 00 01 7b 00 00 00 |...(....|....{...|
|000011c0| 06 37 00 00 06 ff 00 00 | 06 01 01 00 00 00 01 00 |.7......|........|
|000011d0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 4e fd 98 |...L...L|...2.N..|
|000011e0| 0b 06 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|000011f0| 00 0a 03 ed ff ff 00 00 | 00 00 00 55 70 0c 00 00 |........|...Up...|
+--------+-------------------------+-------------------------+--------+--------+